
/*    1.1
      charAt 函数获取字符串第一个字符串
      substring 截取字符串函数
      indexOf 函数获取字符串空格位置，没有空格符就返回-1
      split 函数拆分空格符保存为数组
*/

(function(){
  // 拆分元素
  function g(a){
    var ob=[],oi=[],of=[];
    if(typeof a==='string'){
      if(a.indexOf(' ')!=-1){
        oi=a.split(' ');
        for(var i=0;i<oi.length;i++){
          if(i===0){
            ob=getElement(oi[i],document);
            of=ob[0];
          }else{
            ob=[];
            ob=getElement(oi[i],of);
            of=ob[0];
          }
        }
      }else{
        ob=getElement(a,document);
      }
    }else if(typeof a==='object' && a!=null){
      ob[0]=a;
    }else{
      ob[0]=false;
    }
    return ob;
  }
  // 获取元素
  function getElement(fid,d){
    switch(fid.charAt(0)){
      case'#':var z=[],oj=d.getElementById(fid.substring(1));if(oj==null){z.push(false);}else{z.push(oj);}return z;break;
      case'.':return retain(d.getElementsByTagName('*'),'class',fid.substring(1));break;
      case'@':return retain(document.getElementsByName(fid.substring(1)));break;
      default:return retain(d.getElementsByTagName(fid));
    }
  }
  // 保存元素
  function retain(G,f,n){
    var z=[];
    for(var i=0;i<G.length;i++){
      switch(f){
        case'class':if(G[i].className===n){z.push(G[i]);}break;
        default:z.push(G[i]);break;
      }
    }
    if(z[0]==null){z.push(false);}
    return z;
  }
  /*e*/
  e=function(a){
    var obj=g(a);
    return o={
      'obj':function(n){ // Array 返回对象数组 3 表示第三个对象，如果不填当只有一个对象事，是直接返回对象，而不是对象数组
        if(typeof n==='undefined'){
          var j=obj.length;
          if(j=='1'){return obj[0];}else{return obj;}
        }else{
          if(n==='Array'){return obj;}else{return obj[n-1];}
        }
      },
      // 数量
      'number':function(){
        if(obj!='false'){
          if(obj[0] instanceof Array){
            return obj[0].length;
          }else{
            return obj.length;
          }
        }else{
          return false;
        }
      },
      // 挑选
      'choose':function(p){
        var r=obj[p-1];
        obj=[];
        obj[0]=r;
        return o;
      },
      // 元素
      'element':function(f){
        if(obj!='false'){
          var ob=obj,j=ob.length;
          for(var i=0;i<j;i++){
            r=f(ob[i],ob);
            if(r){
              if(r=='_false_'){
                return '';
              }else{
                return r;
              }
            }
          }
        }
        return o;
      },
      'html':function(v){
        return o.element(function(oid){
          if(typeof v==='undefined'){
            var value=oid.innerHTML;
            if(value){
              return value;
            }
            return '_false_';
          }else{
            oid.innerHTML=v;
            return false;
          }
        });
      },
      'val':function(v){
        return o.element(function(oid){
          if(typeof v==='undefined'){
            var value=oid.value;
            if(value){
              return value;
            }
            return '_false_';
          }else{
            oid.value=v;
            return false;
          }
        });
      },
      'css':function(s,v){
        o.element(function(oid){
          if(s==='style'){
            oid.style.cssText=v;
          }else{
            oid.style[s]=v;
          }
          return false;
        });
        return o;
      },
      'addClass':function(v){
        return o.element(function(oid){
          oid.className=v;
          return false;
        });
      },
      'attr':function(n,v){
        return o.element(function(oid){
          if(typeof v==='undefined'){
            return oid.getAttribute(n);
          }else{
            oid.removeAttribute(n);
            oid.setAttribute(n,v);
            return false;
          }
        });
      },
      'node':function(n){
        if(typeof obj==='object' && obj!='false'){
          var no=getElement(n,obj[0])[0];
          if(no){
            obj[0]=no;
          }
        }else{
          obj[0]=false;
        }
        return o;
      },
      'events':function(ev,fv){
        o.element(function(oid,obj){
          if(oid.addEventListener){
            // 所有主流浏览器，除了 IE 8 及更早 IE版本
            oid.addEventListener(ev,function(event){fv(oid,obj)},false);
          }else{
            // IE 8 及更早 IE 版本
            oid.attachEvent("on"+ev,function(event){fv(oid,obj)},false);
          }
        });
      },
      'addLabel':function(n,s){
        // 等待解决的问题，如果频繁的添加和删除会报错
        return o.element(function(oid){
          if(s==false){
            oid.parentNode.removeChild(oid);
          }else{
            var label=document.createElement(n);
            if(typeof s!='undefined'){s(label);}
            oid.appendChild(label);
          }
          return false;
        });
      },
      'position':function(n){
        var b=obj[0],v;
        switch(n){
          case'width':v=b.offsetWidth;break;
          case'height':v=b.offsetHeight;break;
          case'left':v=b.offsetLeft;break;
          case'top':v=b.offsetTop;break;
          case'scrollWidth':v=b.scrollWidth;break;
          case'scrollHeight':v=b.scrollHeight;break;
        }
        return v;
      }
    }
 }
 /*e*/
})();

/*
case'clientWidth':v=b.clientWidth;break;
case'clientHeight':v=b.clientHeight;break;
case'clientLeft':v=b.clientLeft;break;
case'clientTop':v=b.clientTop;break;
case'scrollWidth':v=b.scrollWidth;break;
case'scrollHeight':v=b.scrollHeight;break;
case'scrollLeft':v=b.scrollLeft;break;
case'scrollTop':v=b.scrollTop;break;
*/

